home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 11
/
Cream of the Crop 11-2.iso
/
extra_2
/
nadir11.zip
/
CHANGES.DOC
< prev
next >
Wrap
Text File
|
1995-11-08
|
14KB
|
378 lines
NADIR MODIFICATION HISTORY
Version 1.0 - 14 Oct 1994
* The original version.
Version 1.1
* If the formatting routine for a Combo or Select box returns a
null string, the item being formatted is ignored and is not shown.
* Fixed bug where unpredictable results occurred after Signal was
called with no text argument.
If cycling was performed (n -c), any undefined arguments for any
function call became "0" instead of the null string.
* Up and Down cursor keys have effect only on radio buttons under Windows.
Previous code would activate any control such as a push button or
check box when a Up or Down cursor key was pressed.
* Added StrTrim function.
Function Trim characters from a string.
Syntax StrTrim(string, chars, type)
Returns The trimmed string.
Remarks chars contains the characters that are trimmed. If chars
is not specified, the space char is trimmed.
type specifies the type of trimming to be performed. The type
string contains words separated by any number of non-alpha
characters. The first character of the word specified the
following types. Case is not significant.
"B"egin Any chars at the beginning of string are removed.
"E"nd Any chars at the end of string are removed.
If type is not specified, chars are trimmed from the
beginning and the end of string.
* Changed so that the parameters read from the parm file on startup
for each Windows task occupy a different area of memory.
Version 1.0 used the same memory for each task.
* Fixed bug in Windows version where a client area with no fields is not
redrawn, when a window above it was closed.
* Fixed bug where function names containing carets (^) were not being
handled properly.
* If a select box, or the select box of a combo box is in focus,
any keystroke will position to that item in the select box.
Keystrokes are held in a buffer and specify the leading part of
the key to position on. The buffer holding the key to move to
is reset when a non printable character is entered, eg. backspace,
the mouse is used, a cursor control key is pressed, or the dialogue
deactivated.
* Added parameter parm^dialog^option^chisel. If set, system
displays controls on screen dialogues with the "chiselled" or 3D look.
Applies only to Windows version.
* The length, height and places parameters for SdCombo and the length
and height parameters for SdSelect specify the number of grid positions
occupied by the controls. This includes the space used by borders and
scroll bars. The exception is "short" data fields. Any data field
with 8 characters or less will be longer to allow the length number
of average characters to be added. i.e. The allowance for borders
is not included.
Originally, height specified the number of rows in the select boxes,
so that a select box that looked OK under windows would not fit into
the dialogue under DOS.
* Fixed problems associated with redefining a field to a different size
or position.
* Fixed General Protection when Windows 3.1 was closed, active Nadir tasks
were running and there was an active DOS Box.
* Fixed problem on Windows when the select box of a combo was visible
and the dialog was minimized. New code correctly hides the select box.
* Added SdFieldVarChg
Function Set the field variables in a screen dialogue
Syntax SdFieldVarChg(handle, name, var, name, var ...)
Returns Null value.
Remarks Set the field variables in the screen dialogue specified
by the handle argument.
Similar to SdFieldVarChg, except that the variable is
changed, but not the value that is stored in the field
in the screen dialogue. (SdFieldVar will change the
variable and set the value of the field).
* System handles double clicks in select boxes or the select box of
a combo box. (Windows only)
* Added parameter parm^dialog^option^combo^dclick. If set, system
will wait for a double click on the select box of combo boxes when
an item is selected with a mouse click. (Windows only)
* Added extra argument to SdSelect, called action2 and action3.
SdSelect(handle, name, mode, row, col, len, height, var, text,
action, text2, action2, action3)
action is the action when a user selects (activates) an item in the
select box. i.e. Clicks mouse or presses spacebar.
action2 is the value returned by SdEdit when the user double clicks
an item.
action3 is the action returned by SdEdit when the user moves the
cursor to an item with the up and down cursor keys or uses the
scroll bar.
* Added extra argument to SdCombo, called action2.
SdCombo(handle, name, mode, row, col, len, height, var, text,
action, text2, places, attr, action2)
action2 is the value returned by SdEdit when the user double clicks
an item. This will only occur if system parameter
parm^dialog^option^combo^dclick is set.
* Under Windows, the hourglass cursor is displayed when the first
request for a read or write to disk, and is reset when input is
required in a dialog.
* The expansion of Eval was changed. If the Eval keyword is on the first
column of a line, and the expansion of the expression or compound
statement evaluates to the null string, then whitespace after the Eval
keyword up to the first new-line is ignored. The intention is to avoid
outputting lots of blank lines.
* Dynamic loading of intrinsic modules in Windows. Created DllLoad and
DllUnload
* The limitation on Parser Word size has increased to 65500.
* Added StrBegins and StrEnds functions
Function See if a string begins with another string
Syntax StrBegins(string, substring)
Returns An integer, 1 if string begins with the substring,
otherwise returns 0.
Remarks If substring is the null string, will return 1.
Function See if a string ends with another string
Syntax StrEnds(string, substring)
Returns An integer, 1 if string ends with the substring,
otherwise returns 0.
Remarks If substring is the null string, will return 1.
* Added TokenFileScanCreate.
Function Create or initialize a token scan of a file
Syntax TokenFileScanCreate(filename)
Returns Null value.
Remarks Performs same function as TokenScanCreate, except the
token scan will read tokens from the text file specified
by the filename argument, and not from a string argument
as in TokenScanCreate.
This function will open the file for reading. If the
file is not found, the Token functions will behave as
if an empty file was specified.
When the file scan is active, LineCurr and LineGet will
return the current or next line in the file being scanned.
As with TokenScanCreate, TokenScanDestroy is used to
deallocate resources and close the file.
* Added extra arg to TokenAdvance(comment, unquote)
If unquote is true, any string will be unquoted. i.e. The TokenValue
will be an unquoted string.
* Added function StrPatternParts.
Function Break a StrMatch pattern into a prefix and suffix
Syntax StrPatternParts(pattern, &prefix, &suffix)
Returns Null value.
Remarks returns the fixed part at the beginning of pattern in prefix.
eg
abc[a-z]s?g* prefix is "abc"
abc|cde prefix is ""
!abc prefix is ""
The prefix variable has to be passed by reference.
The suffix variable is set to the remainder of the pattern
after the fixed prefix. The suffix variable has to be passed
by reference.
The suffix will be a valid pattern string.
The prefix will have literal characters translated. eg
for pattern "ab\*c*a\?*", prefix is "ab*c", suffix "*a\?*"
* Added SymLoad and SymUnload
Function Load the contents of an appropriately formatted text file
into a symbol table.
Syntax SymLoad(symTabName, dumpFileName, pattern, repFreq, &symCnt)
Returns An integer, 0 if all symbols loaded, 1 if load was aborted
Remarks symTabName specifies the symbol table that symbols are loaded
into. e.g. "univ" or "mdat" or "data".
dumpFileName specifies the text file that contains the symbol
data to be loaded.
pattern may specify a regular expression pattern. If specified,
only those names that match the pattern are load. If not
specified, all symbols in dumpFileName are loaded.
If pattern contains only a fixed string with none of the reqular
expression meta characters (see StrMatch), the pattern becomes
a prefix, all symbols with that prefix are loaded.
repFreq specifies the frequency that the progress of the Load
is reported. If not specified, no reporting is preformed.
e.g. If 100, a progress will be displayed every 100 symbols.
The variable symCnt, which must be passed by reference, is set to
the number of symbols loaded.
The dump file is treated as a token stream. Tokens are read
in pairs, the first token being the symbol name, the second
being the token value. Token values may be strings, integers
or floats. If a string contains a valid date string, the
symbol will be loaded with the date type.
If the second Token is "Bunch", the SymLoad assumes that a
Bunch has been dumped. (See Dump). In this case it is assumed
that the a whole number of lines are used for the Bunch, and that
lines are continued with a backslash newline combination.
Function Unload contents of symbol table
Syntax SymUnload(symTabName, dumpFileName, pattern, repFreq, &symCnt)
Returns An integer, 0 if all symbols unloaded, 1 if unload was aborted
Remarks see SymLoad for explanation of the arguments.
However, in SymUnload, the symbols are extracted from the
symbol table and written to the dump file, specified by the
dumpFileName argument.
Internally, the FileDump intrinsic function is used to dump
the symbol names and values to the dump file.
* Added SymNext and SymPrev
Function Get next symbol in a symbol table that matches a pattern string.
Syntax SymNext(symTabName, symbolName, pattern)
Returns Returns next symbol name from the symbol table, or null string
if there is no next value.
Remarks symTabName specifies the symbol table that symbol names will
be scanned for. e.g. "univ" or "mdat" or "data".
symbolName specifies the current value. If the pattern
specifies a prefix, symbolName will not contain the fiexed prefix.
The next symbol name after the specified value in the symbol
table will be returned.
pattern may specify a regular expression pattern. If specified,
only those names that match the pattern are returned. If not
specified, all symbols will be returned.
If pattern contains only a fixed string with none of the reqular
expression meta characters (see StrMatch), the pattern becomes
a prefix, all symbols with that prefix are returned.
If a prefix is specified, the value returned is the name of
the symbol without the prefix part.
Example The following example will remove all symbols from the univ
symbol table that begin with "ph_".
name = "";
while (name = SymNext("univ", name, "ph_")) {
univ^ph_[name] = "";
}
Function Get previous symbol in a symbol table that matches a pattern
string.
Syntax SymPrev(symTabName, symbolName, pattern)
Returns Returns previous symbol name from the symbol table, or null string
if there is no previous value.
Remarks Same as for SymNext, except the symbol names are returned in
descending order.
* Changed prefixes in combos and selects to patterns. i.e.
pattern may specify a regular expression pattern. If specified,
only those names that match the pattern are returned. If not
specified, all symbols will be returned.
If pattern contains only a fixed string with none of the reqular
expression meta characters (see StrMatch), the pattern becomes
a prefix, all symbols with that prefix are returned.
* Changed -o switch on command line for Windows version
if -o is not specified, output is put to a temporary file
which is shown to the user with the Browser program.
if -o is specified with a filename, output is placed in the
file, but no browsing is performed.
if -o is specified without a filename, output is discarded.